1,797 research outputs found
Language Constructs for Distributed Real-Time Programming
For many distributed applications, it is not sufficient for programs to be logically correct. In addition, they must satisfy various timing constraints. This paper discusses primitives that support the construction of distributed real-time programs. Our discussion is focused in two areas: timing specification and communication. To allow the specifications of timing constraints, we introduce the language constructs for defining temporal scope and specifying message deadline. We also identify communication primitives needed for real-time programming. The issues underlying the selection of the primitives are explained, including handling of timing exceptions. The primitives will eventually be provided as part of a distributed programming system that will be used to construct distributed multi-sensory systems
High-level real-time programming in Java
Real-time systems have reached a level of complexity beyond the scaling capability of the low-level or restricted languages traditionally used for real-time programming. While Metronome garbage collection has made it practical to use Java to implement real-time systems, many challenges remain for the construction of complex real-time systems, some specic to the use of Java and others simply due to the change in scale of such systems. The goal of our research is the creation of a comprehensive Java-based programming environment and methodology for the creation of complex real-time systems. Our goals include construction of a provably correct real-time garbage collec-tor capable of providing worst case latencies of 100 s, capa-ble of scaling from sensor nodes up to large multiprocessors; specialized programming constructs that retain the safety and simplicity of Java, and yet provide sub-microsecond la-tencies; the extension of Java's \write once, run anywhere" principle from functional correctness to timing behavior; on-line analysis and visualization that aids in the understanding of complex behaviors; and a principled probabilistic analy-sis methodology for bounding the behavior of the resulting systems. While much remains to be done, this paper describes the progress we have made towards these goals
APPLYING CDL FOR REAL-TIME PROGRAMMING OF MICROPROCESSORS
Concrete examples have been presented to illustrate the efficiency of applying COL and CAL for developing real-time programs for microprocessor-based devices, recently constructed at the Department
Recommended from our members
Process scheduling by output considerations
In multi-tasking systems when it is not possible to guarantee completion of all activities by specified
times, the scheduling problem is not straightforward.
Examples of this situation in real-time programming include the occurrence of alarm conditions and the buffering of output to peripherals in on-line facilities. The latter case is studied here with the hope of indicating one solution to the general problem
Functional real-time programming: the language Ruth and its semantics
Real-time systems are amongst the most safety critical systems involving computer
software and the incorrect functioning of this software can cause great damage, up to
and including the loss of life. If seems sensible therefore to write real-time software in a
way that gives us the best chance of correctly implementing specifications. Because of
the high level of functional programming languages, their semantic simplicity and their
amenability to formal reasoning and correctness preserving transformation it thus seems
natural to use a functional language for this task.
This thesis explores the problems of applying functional programming languages to
real-time by defining the real-time functional programming language Ruth.
The first part of the thesis concerns the identification of the particular problems
associated with programming real-time systems. These can broadly be stated as a
requirement that a real-time language must be able to express facts about time, a feature
we have called time expressibility.
The next stage is to provide time expressibility within a purely functional
framework. This is accomplished by the use of timestamps on inputs and outputs and by
providing a real-time clock as an input to Ruth programs.
The final major part of the work is the construction of a formal definition of the
semantics of Ruth to serve as a basis for formal reasoning and transformation. The
framework within which the formal semantics of a real-time language are defined
requires time expressibility in the same way as the real-time language itself. This is
accomplished within the framework of domain theory by the use of specialised domains
for timestamped objects, called herring-bone domains. These domains could be used as
the basis for the definition of the semantics of any real-time language
Recommended from our members
Real time programming environment for Windows
This document provides a description of the Real Time Programming Environment (RTProE). RTProE tools allow a programmer to create soft real time projects under general, multi-purpose operating systems. The basic features necessary for real time applications are provided by RTProE, leaving the programmer free to concentrate efforts on his specific project. The current version supports Microsoft Windows{trademark} 95 and NT. The tasks of real time synchronization and communication with other programs are handled by RTProE. RTProE includes a generic method for connecting a graphical user interface (GUI) to allow real time control and interaction with the programmer`s product. Topics covered in this paper include real time performance issues, portability, details of shared memory management, code scheduling, application control, Operating System specific concerns and the use of Computer Aided Software Engineering (CASE) tools. The development of RTProE is an important step in the expansion of the real time programming community. The financial costs associated with using the system are minimal. All source code for RTProE has been made publicly available. Any person with access to a personal computer, Windows 95 or NT, and C or FORTRAN compilers can quickly enter the world of real time modeling and simulation
Recommended from our members
Real time programming environment for Windows, Appendix A
This appendix contains all source code for the RTProE system. The following file contents are included: pdb.h; hgen.l; hgen.y; igen.l; igen.y; pdm.l; pdm.y; rtdata.l; rtdata.y; framegen.c; librt.c; librt.h; rtsched.c; build.tsh; sde.tcl; rtsched.def
- …